우주에 존재하는 원자 수를 초과할 정도로 복잡한 게임에서 승리할 확률을 어떻게 찾을 수 있을까요? 분석적 수학이 해결 불가능해질 때, 우리는 컴퓨터의 실험실로 눈을 돌립니다. 시뮬레이션: 실험을 통해 확률을 경험적으로 결정하는 방법은 시뮬레이션이라고 알려져 있으며, 이론적 확률과 실제 적용 사이의 다리를 놓아줍니다.
실험의 구조
모든 시뮬레이션의 핵심은 확률적 과정의 반복입니다. 닫힌 형태의 방정식을 풀기보다는, 반복적인 시행을 통해 시스템의 행동을 시뮬레이션합니다. 이러한 물리적 결과를 수학적 데이터로 변환하기 위해 우리는 지표 변수를 사용합니다.
결과를 측정하기 위해, 사건의 성공 또는 실패를 포착하는 난수변수를 정의합니다. 예를 들어 주사위 게임에서는:
$$X = \begin{cases} 1 & \text{주사위의 합이 6일 때} \\ 0 & \text{그 외의 경우} \end{cases}$$
솔리테어와 같은 더 복잡한 게임의 경우, $X_i$를 $i$번째 시행의 결과로 정의합니다:
$$X_i = \begin{cases} 1 & \text{$i$번째 게임에서 승리할 때} \\ 0 & \text{그 외의 경우} \end{cases}$$
중요하게도, 기대값 $E[X_i] = P\{\text{솔리테어에서 승리}\}$입니다.
이론적 수렴
왜 이것이 작동할까요? 시뮬레이션의 타당성은 강한 대수법칙 (SLLN)에 기반합니다. 우리는 추정량을 표본 평균으로 정의합니다:
$$\sum_{i=1}^n \frac{X_i}{n} = \frac{\text{승리한 게임 수}}{\text{플레이한 게임 수}}$$
이는 비편향 추정량입니다. 강한 대수법칙에 따르면, $\sum_{i=1}^n \frac{X_i}{n}$는 확률 1로 $n \to \infty$일 때 $P\{\text{솔리테어에서 승리}\}$로 수렴함을 알고 있습니다.
예제: 솔리테어 역설
복잡한 솔리테어 게임에서 승리할 정확한 확률을 계산한다고 상상해 보세요. 카드 상태의 수가 엄청나게 많기 때문에 분석적 조합론은 거의 불가능합니다. 대신 고정된 전략을 사용하여 컴퓨터가 $n = 1,000,000$번의 게임을 플레이하도록 프로그래밍합니다. 각 게임에서 $X_i$를 추적함으로써 얻어진 승리 비율은 기존의 표준 세기 방법으로는 얻을 수 없는 고정밀도의 승리 확률 추정치를 제공합니다.